home *** CD-ROM | disk | FTP | other *** search
- #include "..\Source\Lastwolf.hpp"
-
-
- MFile::MFile()
- {
- fileHandle = -1;
- bFileOpen = FALSE;
- }
-
-
- MFile::~MFile()
- {
- if( bFileOpen )
- close(fileHandle);
- }
-
-
- MFile &MFile::operator=(MFile ©From)
- {
- bFileOpen = copyFrom.bFileOpen;
- fileHandle = copyFrom.fileHandle;
-
- return *this;
- }
-
-
- BOOL MFile::fio_OpenSource( const char *p_SourceFilename, char ReadOrWrite )
- {
- if( toupper(ReadOrWrite) == 'R' )
- fileHandle = open( p_SourceFilename, O_RDONLY | O_BINARY );
- else
- fileHandle = open( p_SourceFilename, O_WRONLY | O_BINARY );
-
-
- if( fileHandle == -1 )
- return FALSE;
-
- bFileOpen = TRUE;
-
- // Store the filename.
- strncpy( fileName, p_SourceFilename, 256 );
-
- // Get the length of the file.
- lseek( fileHandle, 0, SEEK_END );
- fileLength = tell( fileHandle );
- lseek( fileHandle, 0, SEEK_SET );
-
- return TRUE;
- }
-
- BOOL MFile::fio_CloseSource()
- {
- if( !bFileOpen )
- return FALSE;
-
- close(fileHandle);
- bFileOpen = FALSE;
-
- return TRUE;
- }
-
-
- BYTE MFile::fio_ReadByte()
- {
- char byteRead;
-
- if( !bFileOpen )
- return -1;
-
- read( fileHandle, &byteRead, 1 );
- return byteRead;
- }
-
- BOOL MFile::fio_Read( void *p_Buffer, DWORD size )
- {
- if( !bFileOpen )
- return FALSE;
-
- read( fileHandle, p_Buffer, size );
-
- return TRUE;
- }
-
- BOOL MFile::fio_Write( void *p_Buffer, DWORD size )
- {
- if( !bFileOpen )
- return FALSE;
-
- write( fileHandle, p_Buffer, size );
-
- return TRUE;
- }
-
-
- BOOL MFile::fio_Seek( DWORD seekPos )
- {
- if( !bFileOpen )
- return FALSE;
-
- if( lseek( fileHandle, seekPos, SEEK_SET ) == -1 )
- return FALSE;
- else
- return TRUE;
- }
-
-
- DWORD MFile::fio_GetPosition()
- {
- if( !bFileOpen )
- return -1;
-
- return tell( fileHandle );
- }
-
-
- DWORD MFile::fio_FileLength()
- {
- return fileLength;
- }
-
-
-
-
-